﻿@model DeliveryNote
@{
    var service2 = new KPIS.GERP.WEB.GIMS.DeliveryNoteService.DeliveryNoteServiceClient();
    var pisOfPo = service2.SelectPurchaseOrderInsatall(null, null)
                                        .Where(o => o.PoId == Model.PoId); 
    var allDn = service2.SelectDeliveryNote(null, null); 
}
@if (Model != null)
{
    <div class="widget-box">
	<div class="widget-header header-color-blue2">
        <h4 class="lighter smaller">ข้อมูลหลัก</h4>
    </div>
    <div class="widget-body">
        <div class="widget-body-inner">
            <div class="widget-main form-horizontal">
                <div class="control-group">
                    <div class="control-label">
                        รายงานตรวจรับพัสดุ
                    </div>
                    <div class="controls-detail" style="margin-top:5px !important;">
                        @Html.ActionLink(" รายงานตรวจรับพัสดุ", "ReportDeliveryNote", new { Model.DnId },
                        new { @class = "btn button-standard-width btn-small btn-blue icon-file bigger-120", role = "button" })

                    </div>
                </div>

                <hr />

                <div class="control-group">
                    <div class="control-label">
                        เลขที่หนังสือ
                    </div>
                    <div class="controls-detail" style="margin-top:5px !important;">
                        @if (Model != null && Model.PurchaseOrder != null &&
                             Model.PurchaseOrder.Code == Model.DocumentNumber)
                        {
                            <a href="@Url.Action("Details", "PurchaseOrder", new {id = Model.PoId, ViewBag.NoLayout, ViewBag.ViewOnly,ShowInstallment=true})"
                               title="คลิกเพื่อไปหน้า PO" target="_blank">
                                <u>
                                    @Html.DisplayFor(model => model.PurchaseOrder.Code) -
                                    @Html.DisplayFor(model => model.PurchaseOrder.Name)
                                    &nbsp;&nbsp;
                                    <strong>งวดที่:</strong>
                                    @Html.DisplayFor(model => model.PurchaseOrderInstallment.InstallNumber)
                                    /
                                    @{
                            var lastPiNo = pisOfPo.Max(o => o.InstallNumber);
                            @lastPiNo
                                    }
                                    <i class="icon-external-link"></i>
                                </u>
                            </a>
                        }
                        else
                        {
                            @Html.DisplayFor(model => model.DocumentNumber)
                        }
                    </div>
                </div>

                <div class="control-group">
                    <div class="control-label">
                        รหัสอ้างอิง
                    </div>
                    <div class="controls-detail" style="margin-top:5px !important;">
                        <strong>@Html.DisplayFor(model => model.Code)</strong>
                    </div>
                </div>
                <div class="control-group">
                    <div class="control-label">
                        ชื่อเรื่องรายการตรวจรับ
                    </div>
                    <div class="controls-detail" style="margin-top:5px !important;">
                        <strong>@Html.DisplayFor(model => model.Name)</strong>
                    </div>
                </div>
                <div class="control-group">
                    <div class="control-label">
                        วันที่สั่งซื้อ
                    </div>
                    <div class="controls-detail" style="margin-top:5px !important;">
                        @*@Html.DisplayFor(model => model.PurchaseOrder.RequireDate)*@
                        @Html.DisplayFor(model => model.PurchaseOrder.OrderDate)
                    </div>
                </div>
                <div class="control-group">
                    <div class="control-label">
                        วันครบกำหนดส่ง
                        @*@Html.DisplayNameFor(model => model.RequireDate)*@
                    </div>
                    <div class="controls-detail" style="margin-top: 5px !important;">
                        @Html.DisplayFor(model => model.PurchaseOrder.RequireDate)
                    </div>
                </div>
                <div class="control-group">
                    <div class="control-label">
                        ประเภทใบกำกับภาษี
                    </div>
                    <div class="controls-detail" style="margin-top:5px !important;">
                        @(Model != null && Model.ChkTaxInvoice == true ? "ใบกำกับภาษี" : "ใบส่งของ")
                    </div>
                </div>
                <div class="control-group">
                    <div class="control-label">
                        เลขที่ใบแจ้งหนี้/ส่งสินค้า
                    </div>
                    <div class="controls-detail" style="margin-top:5px !important;">
                        @Html.DisplayFor(model => model.InvoiceNumber)
                    </div>
                </div>
                <div class="control-group">
                    <div class="control-label">
                        ประเภท
                    </div>
                    <div class="controls-detail" style="margin-top:5px !important;">
                        @Html.DisplayFor(model => model.PurchaseOrder.MasPurchaseType.PcTypeName)
                    </div>
                </div>
                <div class="control-group">
                    <div class="control-label">
                        ผู้ขาย/รับจ้าง
                    </div>
                    <div class="controls-detail" style="margin-top:5px !important;">
                        @Html.DisplayFor(model => model.PurchaseOrder.Bidder.MasContact.NameTh)
                    </div>
                </div>
                <div class="control-group">
                    <div class="control-label">
                        @Html.DisplayNameFor(model => model.DeliveryDate)
                    </div>
                    <div class="controls-detail" style="margin-top: 5px !important;">
                        @Html.DisplayFor(model => model.DeliveryDate, "LongDate")
                    </div>
                </div>
                <div class="control-group">
                    <div class="control-label">
                        วันที่ตรวจรับ
                    </div>
                    <div class="controls-detail" style="margin-top: 5px !important;">
                        @Html.DisplayFor(model => model.ReceiveDate, "LongDate")
                    </div>
                </div>
                <div class="control-group">
                    <div class="control-label">
                        สถานที่ตรวจรับ
                    </div>
                    <div class="controls-detail" style="margin-top: 5px !important;">
                        @Html.DisplayFor(model => model.DeliveryPlace)
                    </div>
                </div>
                <div class="control-group">
                    <div class="control-label">
                        คลัง
                    </div>
                    <div class="controls-detail" style="margin-top: 5px !important;">
                        @Html.DisplayFor(model => model.Warehouse.Name)
                    </div>
                </div>
                

                <div class="control-group">
                    <div class="control-label">
                        รายละเอียด
                    </div>
                    <div class="controls-detail" style="margin-top: 5px !important;">
                        @Html.DisplayFor(model => model.Descr)
                    </div>
                </div>

                    <div class="control-group">
                        <div class="control-label">
                            สถานะ
                        </div>
                        <div class="controls-detail" style="margin-top:5px !important;">
                            @*@Html.DisplayFor(model => model.PurchaseOrder.RecordStatus)
                    @{
                        var service = new KPIS.GERP.WEB.GIMS.RequestParcelService.RequestParcelServiceClient();
                        string status = Model.RecordStatus;
                        string result = service.GetStatusName(status);
                        ViewBag.StatusName = result;
                    }
                    @ViewBag.StatusName
                    @Html.DisplayFor(model => model.RecordStatus)*@

                            <span class="@switch (Model.RecordStatus)
                                        {
                                            case "U": @:text-info
                                                                                                                    break; case "A": @: text-success
                                                                                                                    break; case "W": @: text-warning
                                                                                                                    break; case "P": @: muted
                                                                                                                    break; case "J": @: red
                                                                                                                    break; default: break; } ">
                                @* @KPIS.GERP.Models.SYS.RecordStatus.RecordStatusName(Model.RecordStatus) *@
                                @{
                                    var db = new GERPContext(true);
                                    var task2= db.Tasks
                                        .Include(o=>o.CurrentTaskHistory)
                                        .FirstOrDefault(o => o.RefId == Model.DnId &&
                                                                o.ApproveProcess.AppPrcGrpId == 14


                                                                && o.RecordStatus != RecordStatus.DeletedStatus);

                                    if (task2 != null)
                                    {
                                        @task2.StatusText
                                    }
                                    else
                                    {

                                        @KPIS.GERP.Models.SYS.RecordStatus.RecordStatusName(Model.RecordStatus)

                                        if (task2 != null && !task2.Completed &&
                                            task2.CurrentTaskHistory != null &&
                                            task2.CurrentTaskHistory.ApproverPosId != null)
                                        {
                                            var empOfPos = db.Employees
                                                .Include(o => o.Position)
                                                .FirstOrDefault(o => o.RecordStatus != "D"
                                                                     && o.PosId == task2.CurrentTaskHistory.ApproverPosId);
                                            if (empOfPos != null)
                                            {
                                                @: โดย @empOfPos.FullName (@empOfPos.Position.PosNo - @empOfPos.Position.Name) เมื่อ @task2.CurrentTaskHistory.CreatedWhen.Value.ToString("dd MMMM yyyy HH:mm")
                                            }
                                        }
                                        else if (task2 != null && task2.Completed &&
                                                 !string.IsNullOrWhiteSpace(task2.CompletedByFullName))
                                        {
                                            @:โดย @task2.CompletedByPosName - @task2.CompletedByFullName เมื่อ @task2.CompletedWhen.Value.ToString("dd MMMM yyyy HH:mm")
                                        }
                                    }

                                    if (task2 != null && Model.RecordStatus != RecordStatus.ReturnedStatus)
                                        {
                                        @:&nbsp;&nbsp;&nbsp;&nbsp;
                                        <a href="@Url.Action("Details", "Task", new {id=task2.TaskId})" target="_blank">
                                            ไปที่หน้าคำขอ <i class="icon-external-link"></i>
                                        </a>
                                        }
                                        else if (Model.RecordStatus == RecordStatus.ReturnedStatus)
                                        {
                                            @:&nbsp;&nbsp;&nbsp;&nbsp;
                                            <a href="@Url.Action("Details", "Task", new {id=task2.TaskId})" target="_blank" style="background-color: rgb(255, 255, 180);
                                                                                                                                                                                                                                  font-size:14px;
                                                                                                                                                                                                                                  font-weight: bold;                                                                                                                                  ">
                                                ส่งกลับไปขออนุมัติต่อ (ต้องเป็นผู้สร้างคำขอ)<i class="icon-external-link"></i>
                                            </a>
                                        }

                                }

                            </span>&nbsp;
                        </div>
                    </div>
                </div>

        </div>
    </div>
</div>
}
